#include "auxlib.h"
#include <iostream>
using namespace std;

#include "miscelaneous.h"
#include "mdsa.h" // multi dimension static array
#include "mdda.h" // multi dimension dynamic array
#include "mddagp.h" // multi dimension dynamic array generic programming

// single dimension dynamic array mapped as multi dimensional
#include "sddamd.h"

#include "class_sddamd.h"
#include "stl_deque.h"
#include "stl_vector.h"

//////////////////////////////////////////////////
// main
//////////////////////////////////////////////////

int main() {
	cout << "====== scientific performance test" << endl;
	loop_test();
	assert_float_point();
	unsigned size = 6000;
	multidimensional_dynamic_array(size);
	multidimensional_dynamic_array_generic_programming<double>(size);
	multidimensional_STL_deque_array(size);
	multidimensional_STL_vector_array(size);
	multidimensional_static_array(); // 6000 hard coded in mdsa.h
	single_dimension_dynamic_array_mapped_as_multi_dimensional(size);
	class_sddamd(size);
	return 0;
}